Solver Aided Reverse Engineering of Architectural Features

نویسندگان

  • Bill Zorn
  • Dan Grossman
  • Luis Ceze
چکیده

To program a processor, you need to have some model of how it behaves. But providing accurate functional models of processors is challenging. Traditionally, the behavior of a processor is specified by documentation that describes its Instruction Set Architecture, or ISA. This documentation is usually long, making it laborious to produce, and it is often riddled with errors, typos, and inconsistencies. Additionally, it can be insufficiently formal for applications that need an accurate formal model of a processor, such as superoptimizers, program synthesis tools, or proof frameworks. We observe that formal methods can be used not just to consume these models, but to check them and to help us produce them. To demonstrate, we reverse engineer two interesting architectural features of a TI MSP430 microcontroller. First, we use the SMT solver Z3 [1] to synthesize the timings of many instructions. Second, we use Synapse [2], a program synthesis framework built on the Rosette solver-aided language [3], to synthesize the semantics of arithmetic instructions as bitvector programs. In both cases, we compare our results with the TI user’s guide and find that we can provide a more accurate formal model.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reverse Engineering Architectural Feature Models

Reverse engineering the variability of an existing system is a challenging activity. The architect knowledge is essential to identify variation points and explicit constraints between features, for instance in feature models (FMs), but the manual creation of FMs is both timeconsuming and error-prone. On a large scale, it is very difficult for an architect to guarantee that the resulting FM ensu...

متن کامل

Unscheduling, Unpredication, Unspeculation: Reverse Engineering Itanium Executables

EPIC (Explicitly Parallel Instruction Computing) architectures, exemplified by the Intel Itanium, support a number of advanced architectural features, such as explicit instruction-level parallelism, instruction predication, and speculative loads from memory. However, compiler optimizations to take advantage of such architectural features can profoundly restructure the program’s code, making it ...

متن کامل

Feature-based reverse modeling strategies

We presented two integrated solution schemes, sectional feature based strategy and surface feature based strategy, for modeling industrial components from point cloud to surfaces without using triangulation. For the sectional feature based strategy, slicing, curve feature recognition and constrained fitting are introduced. This strategy emphasizes the advanced feature architecture patterns from...

متن کامل

Extraction of 3D Geometrical Features of Biological Objects with 3D PCA Analysis and Applications of Results

The Computer Aided Design (CAD) systems are very well known by designers in their every day practice and numerical analysis. Computer models of real objects with advanced numerical tools, significantly improves the quality and reduce time of design process. In addition to the three-dimensional modeling systems, there are many other tools and techniques (such as reverse engineering, rapid protot...

متن کامل

A New Aesthetic Design Workflow - Results from the European Project FIORES

Styling design is becoming a crucial mark for the success of consumer goods on the global market. Computer Aided Styling (CAS) and Computer Aided Aesthetic Design (CAAD), but also manual work on physical models are the methods for creating optimal aesthetic shapes. The BriteEuRam project FIORES covering 12 partners including automotive companies, styling companies, system suppliers, and researc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017